// pages/category/index.js
// 0 引入用来发送请求的 方法
import { request } from "../../request/index.js"
import regeneratorRuntime from '../../lib/runtime/runtime';
Page({

  /**
   * 页面的初始数据
   */
  data: {
    //左侧的商品数据
    leftMenuList:[],
    //右侧的商品数据
    rightContent:[],
    //被点击的左侧的菜单
    currentIndex:0,
    //右侧内容的滚动条距离顶部的距离
    scrollTop:0
  },
  //切换菜单内容
  handleItemTap(e){
    const {index} =  e.currentTarget.dataset
     //构造右侧商品数据
     let rightContent = this.Cates[index].children
     this.setData({
      currentIndex: index,
       rightContent,
        //重新设置 右侧内容滚动条距离顶部的距离
        scrollTop:0
     })
  },
  //接口的返回数据
  Cates:[],

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    /*web : localStorage.setItem("key","value") 接受：localStroage.getItem("key")
    小程序：wx.setStorageSync("key","value") ,接收：wx.getStorageSync("key")
     * 
     */
    // this.getcates()
    //1.获取本地存储中的数据
    const Cates =  wx.getStorageSync("cates");
    //2.判断
    if(!Cates){
      //不存在 发送请求获取数据
      this.getcates()
    }else{
      //有旧数据 定义过期时间 10s改为5min
      if(Date.now() - Cates.time > 60000*10){
        //重新发送请求
        this.getcates()
      }else{
        //可以使用旧的数据
        this.Cates = Cates.data;
           //构造左侧商品数据
           let leftMenuList = this.Cates.map(v=> v.cat_name)
            //构造右侧商品数据
        let rightContent = this.Cates[0].children
        this.setData({
          leftMenuList,
          rightContent
      })
      }
    
    }
  },
  //获取分类数据
  async getcates(){
    // request({
    //   url:"/categories"
    // })
    // .then(res=>{
    //   this.Cates=res.data.message;

    //   //把接口的数据存入到本地存储中
    //   wx.setStorageSync("cates",{time:Date.now(),data:this.Cates});

    //   //构造左侧大菜单数据
    //   let leftMenuList = this.Cates.map(v=>v.cat_name);
    //   //构造右侧商品数据
    //   let rightContent = this.Cates[0].children
    //   this.setData({
    //     leftMenuList,
    //     rightContent,
     
    //   })
    // })

    //1.使用es7的async await来发送请求
    const res = await request({url:"/categories"});
    // this.Cates=res.data.message;
    this.Cates = res;

      //把接口的数据存入到本地存储中
      wx.setStorageSync("cates",{time:Date.now(),data:this.Cates});

      //构造左侧大菜单数据
      let leftMenuList = this.Cates.map(v=>v.cat_name);
      //构造右侧商品数据
      let rightContent = this.Cates[0].children
      this.setData({
        leftMenuList,
        rightContent,
     
      })
  }
})